//
//  WHWproxyKitUtility.h
//  WHPersonalData
//
//  Created by jwc on 2021/8/23.
//  Copyright © 2021 mac. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <WHWlproxy/WHWLProxyTask.h>
#import <WHWlproxy/WHWLProxySession.h>

NS_ASSUME_NONNULL_BEGIN

@interface WHWproxyKitUtility : NSObject

/**
 是否有提示框 默认：NO 没有
 */
@property(nonatomic, assign) bool mHavePrompt;

/**
 是否有提示框进度条 默认：NO 没有
 */
@property(nonatomic, assign) bool mHavePromptProgress;

/**
 提示框文字
 */
@property(nonatomic, strong) NSString *mPromptTxt;

/**
 请求参数是否编码 默认：NO 不编码
 */
@property(nonatomic, assign) bool mParamsHaveEncoded;

/**
 请求代理类型 默认：WLProxyTaskMethodAsyncGet
 */
@property(nonatomic, assign) WLProxyTaskMethod mProxyTaskType;

/**
 用户类型。默认是：1
 普通用户设为 1
 法人用户设为 3
 没有用户为 0
 */
@property(nonatomic, strong) NSString *mUserType;

/**
 是否关闭提示框 默认：YES 关闭
 */
@property(nonatomic, assign) bool mIsDismissPrompt;

/**
 法人id
 */
@property(nonatomic, strong) NSString *mLegalId;


/// 单例模式 初始化方法
/// @param proxyIP 代理地址
/// @param targetUri 应用id
/// @param getParams 请求参数
+ (instancetype)SharedManager:(NSString *)proxyIP targetUri:(NSString *)targetUri getParams:(NSString *)getParams;

/// 初始化方法
/// @param proxyIP 代理地址
/// @param targetUri 应用id
/// @param getParams 请求参数
- (instancetype)initWithProxyIP:(NSString *)proxyIP targetUri:(NSString *)targetUri getParams:(NSString *)getParams;

/// 凭证文件请求视频代理初始化参数
+ (NSString *)getVideoInvokerIniParam;

// 请求
// @param progress 进度条block
// @param success 成功block
// @param failure 失败block
- (void)getSyncActionWithprogress:(void (^)(NSString *result))progress
                          success:(void (^)(NSString *result,NSString *xml,NSString *path))success
                          failure:(void (^)(NSString *result))failure;

/// html页面请求代理
/// @param progress 进度条block
/// @param success 成功block
/// @param failure 失败block
- (void)getWebSyncWithprogress:(void (^)(NSString *result))progress
                       success:(void (^)(NSString *result,NSString *xml,NSString *path))success
                       failure:(void (^)(NSString *result))failure;

/// 取消请求
/// @param Identifier 请求id
+ (void)cancelRequestWithIdentifierWithID:(NSString *)Identifier;

// 多个请求同时
// @param progress 进度条block
// @param success 成功block
// @param failure 失败block
//- (void)getMoreSyncActionWithprogress:(void (^)(NSString *result))progress
//                          success:(void (^)(NSString *result,NSString *xml,NSString *path))success
//                          failure:(void (^)(NSString *result))failure;
@end

NS_ASSUME_NONNULL_END
